Document typography involves the arrangement and styling of material such as text, images, and the like in a document. Historically a manual process, typesetting today is usually done with a typography application executed on a computing device. One example of a typography application to electronically typeset documents is Adobe's InDesign® application.
When text is imported into the layout of a document in a typography application, significant effort can be spent to create and arrange text frames, which exacerbates the difficulties in editing the layout of the document when the text frames need to be updated. As an example, FIG. 1 illustrates an example environment 100 with example document layouts in accordance with one or more aspects of the disclosure. Example environment 100 includes an example computing device 102 configured to display document layout 104 and document layout 106. Document layout 104 and document layout 106 are example document layouts in which text has been imported into a text frame.
For instance, document layout 104 includes text frame 108. Text in text frame 108 can be constant content or variable content. Bold text in text frame 108 (e.g., “Name”, “Description”, and “Price($)” is constant content in that it is not intended to be updated when content outside of document layout 104 changes. However, the remaining text in text frame 108 (e.g., “Black Shirt”, “From the latest collection for men. Finest quality.”, and “500”) is variable content and is intended to be updated when content outside of document layout 104 changes (e.g., content on a server changes). When the variable content becomes stale and needs to be updated (e.g., because the description of the black shirt has changed on a manufacturer's server), text frame 108 has no mechanism to update variable content separately from constant content. Consequently, when text frame 108 is updated as a whole, styling attributes (e.g., between constant content and variable content, between different paragraphs, and the like) are lost and must be re-applied manually.
To accommodate constant content and variable content in a document layout, users may create multiple text frames, as illustrated in document layout 106. Document layout 106 includes text frames 110, 112, and 114 for constant content “Name”, “Description”, and “Price($)”, respectively, and text frames 116, 118, and 120 for variable content “Black Shirt”, “From the latest collection for men. Finest quality.”, and “500”, respectively. In this example, variable content in text frames 116, 118, and 120 can be updated without affecting the styling of constant content of text frames 110, 112, and 114. However, the creation and arrangement of multiple text frames in a document layout is tedious. For instance, text in each text frame must be properly justified, and the text frames must be arranged with respect to each other, so the document layout is aesthetically appealing. Unfortunately, this tedious process results in a document layout that is overly sensitive to small changes in that a change to one text frame may cause significant changes to the document layout as a whole, and thus require significant manual effort to re-typeset the document. For instance, when variable content is updated in one of text frames 116, 118, and 120, document layout 106 may need to be re-typeset by rearranging all of text frames 110, 112, 114, 116, 118, and 120.